Data conversion system



May 31, 1966 J. M. HUNT DATA CONVERSION SYSTEM 10 Sheets-Sheet l Filed Feb. 2l, 1965 May 31, 1966 J. M. HUNT DATA CONVERSION SYSTEM 10 Sheets-Sheet 2 Filed Feb. 2l, 1965 W GNL@ INVENTOR y BY 1 ATTORNEY May 31, 1966 J. M. HUNT 3,254,337

DATA CONVERSION SYSTEM Filed Feb. 21, 1965 lO Sheets-Sheet 5 May 31, 1966 J. M. HUNT DATA CONVERSION SYSTEM lO Sheets-Sheet 4 Filed Feb. 2l, 1965 bNGNmN May 31, 1966 J. M. HUNT DATA CONVERSION SYSTEM 10 Sheets-Sheet 5 Filed Feb. 2l, 1965 ATTORNEY 10 Sheets-Shed'I 6 J. M. HUNT DATA CONVERSION SYSTEM umm Nd May 31, 1966 Filed Feb. 21, 1965 ATTORN EY May 31, 1966 J. M. HUNT DATA CONVERSION SYSTEM Filqd Feb. 2l, 1963 ,gedoe-F4140 w,l

lO Sheets-Sheet 7 INVENTOR BY mi ATTORNEY May 31, 1966 Filed Feb. 2l, 1965 J. M. HUNT 3,254,337

DATA CONVERS ION SYSTEM EG. 12 T ,/J/ Mame? INVENTOR BY ifi/fm ATTORNEY 10 Sheets-Sheet 8 May 31, 1966 J. M. HUNT 3,254,337

DATA CONVERSION SYSTEM Filed Feb. 2l, 1965 lO Sheets-Sheet 9 Li/'ZI/ -/0/ -Hgl/ B Pdci.: 1%/ 72540 TMm/6 fren 5 I/IG. 8

Lr R38 11m-f. 10

WW wz/ Jo/4M M, /7/0/1/7 INVENTOR ATTO RN EY May 31, 1966 J. M. HUNT 3,254,331

DATA CONVERSION SYSTEM Filed Feb. 2l, 1963 lO Sheets-Sheet lo La/tal ATTORNEY United States Patent O 3,254,337 DATA CONVERSION SYSTEM John M. Hunt, Hillcrest, N.Y., assignor to General Precision, Ine., Binghamton, N.Y., a corporation of Dela- Ware Filed Feb. 21, 1963, Ser. No. 260,218 13 Claims. (Cl. 340-347) In the .electronic computer, automatic control, andv instrumentation arts, an increasing number of machines and processes are being controlled and indications obtained by means of digital computation. Because the ultimate control and indicating devices, such as motor driven valves, electric meters, and the like are generally responsive to analog signals, a large number of installations wherein digital computation is employed require digital to analog conversion equipment lto convert the computed output digital signals to corresponding analog signals.

-Digital computers are generally resorted to in preference .to analog computers when it is desired to attain a very high degree of computational accuracy, and, in order that the inherent accuracy of digital computation be available in the nal analog output signal, it is obvious that the digital to analog converter employed also exhibit a comparable high degree of accuracy. Further, since many machines and processes, and in particular onstream controllers and real-time simulators, require calculation of relatively rapidly changing variables, it is usually necessary that the digital-to-analog converter be fast as well as accurate. Additionally, as is well known in the design of any electronic equipment, the digital to analog converter should 4be reliable and economical -both to construct and to maintain.

According to the prior art, digital to analog converters, in general, operate by connecting precisely controlled reference voltages representing a digital l or a digital to a matrix of summing resistors, With a different resistor selected for each bit of the digital word. Further, each resistor has a different value -which is weighed in accordance with the significance of its associated bit position. As is well known, such prior art digital to analog converters become extremely diiiic'ult and expensive to design when it is desired to convert digital numbers having approximately ten significant bits, or more, since the tolerance requirements of the individual resistors becomes extreme.

Additionally, in most digital computer control applications, it is generally necessary that a plurality of digital words be converted to their respective analog signals, and, in order to effect a saving in overall equipment, the digital to analog' converter is'operated in a multiplexed fashion, that is, a single `digital to analog converter successively converts each individual digital word to its corresponding analog signal. Por the reason that no single digital Word is being continuously converted, it is necessary in such prior art multiplexed systems, to employ analog sample and hold circuits, which are frequently unreliable, inaccurate, and expensive.

According to the present invention, however, there is provided an improved digital to analog converter, wherein time weighing, rather than resistance weighing, is employed. The concept of time weighing differs from resistance weighing in that, rather than scaling precision resistors in accordance with the significance of its associated digital bit, the precision reference voltage, corresponding 3,254,337 Patented May 3l, 1966 to the value of a particular bit, is coupled to the analog output terminalfor a time interval corresponding to the sgniiicance of the particular bit. By way of example, the least significant bit, LSB, is coupled to the output terminal for one time unit, the LSB-f-l bit for two ytime units, the LSB-i-Z bit for four time units, the LSB-l-3 bit for eight time units, etc. In this manner no extreme precise resistors are required, regardless of the number of signiiicant bits in the digital word being converted. Further, since the analog output channel requires, essentially merely a ilip-tlop, a transistor switch, and an RC tilter, it becomes economically feasible to employ individual digital-to-analog converters in each analog output channel when a number of digital words are to be converted, thereby completely eliminating the analog sample and hold circuits and other difficulties inherent in any multiplex system.

In a preferred embodiment of the invention to be described in detail below, a plurality of digital words are read out of an output register of a digital computer, or the like, and loaded serially `by word into a buffer memory device. Next, the memory device is interrogated to convert all of the digital words simultaneously, serially by bit, commencing with'the least significant b-it and terminating with the most signiiicant bit'. It should be noted, and this is an important feature of the invention, that even though the memory device cannot be loaded `and interrogated at the same time, lthe invention operates to load new digital words into the memory device during the time interval the most signicant bit of all of the previously loadedy words, which as indicated above require the greatest conversion time, are being converted, so that loading and conversion proceed, in part, 'at the same time. In this manner, a succeeding conversion cycle commences essentially at the same time a preceding conversion cycle terminates.

It is an object of Ithe invention, therefore, to provide an improved digital to analog converter.

Another object of the invention is to provide a digital to analog converter employing time weighing rather than conventional resistance Weighing.

A further object of this invention is to provide an improved digital to analog converter which eliminates lthe use of extremely precise resistance tolerances, regardless of the number of signicant bits inthe digital word being converted.

Still another object of the invention is to provide a digital to analog converter wherein the value of each bit of the digital word being converted is coupled to an analog output terminal for a time interval dependent on the significance of the bit.

Yet another object of the invention is to provide a digital to analog converter which eliminates the necessity of multiplexing, when a number of digital words are to be converted, in a simple and economical manner.

Another object of the invention is to provide a digital to analog conversion apparatus wherein a number of digital Words to be converted are loaded, parallel by word, into a memory device and then all of said words are interrogated and converted serially by bit into respective analog signals. v

A still further object of the invention is to provide digital-to-analog apparatus wherein a plurality of digitalwords are simultaneously and cyclically converted into respective analog voltages.

Other objects of the invention will in part be obvious and will in part appear hereinafter.

The invention accordingly comprises the features of construction, combinations of elements, and 'arrangement of parts, which will be exempliiied in the construcwill be indicated in the claims.

For a fuller understanding of the nature and the objects of the invention reference should be had to the following detailed description taken in connection ywith the accompanying drawings, in which:

FIG. 1 is a block diagram illustrating a preferred embodiment of the digital-to-analog converter of the present invention, also illustrating its interconnection with a digital computer.

FIG. 2a is a timing diagram illustrating the sequence of certain operations performed by the invention during one revolution of a magnetic storage drum in al digital computer;

FIG. 2b is a timing diagram illustrating the timing of certain pulse signals derived during a portion of one revolution of a magnetic storage drum in the digital computer shown in FIG. 1, which are useful in understanding how data is read out of the memory device of the invention;

FIG. 2c is a timing diagram includin-g a plurality of waveforms useful in understanding how input digital data words are written into the memory device of the invention;

FIG. 3 is an electrical schematic diagram, partially in block form, illustrating in greater detail the magnetic core buffer memory portion of the invention, together with auxiliary electronic switching circuits utilized to read data words into and out of the buffer memory portion;

FIG. 4 is an electrical schematic diagram illustrating a diode matrix decoder which may be used as the decoder unit shown as block 307 in FIG. l;

FIG. 5 is a sche-matic logic diagram partially in block form illustrating one form of read timing logic unit which may be used as block 70 in FIG. l;

FIG. 6 is an electrical schematic diagram of a gating and driving amplifier unit which may be used as each of the load write driver Y gating amplifier units of FIG. l;

FIG. 7 is a detailed electrical schematic diagram illustrating one form of a write timing unit which may be used as block 301 of FIG. l;

FIG. 8 is an electrical schematic diagram illustrating a flip-iiop and a transistor switch which may be used as blocks FF-l through 12F-192 and TS-l through "IS-192 of FIG. l.

FIG. 9 is an electrical schematic diagram illustrating a strobe pulse generator and power amplifier ywhich may be used as blocks 51 and 51a of FIG. l.

FIG. 10 is an electrical schematic diagram illustrating a sense amplifier which may be used as blocks SA-l through SA-192 of FIG. l.

FIG. 1l is an electrical schematic diagram illustrating a read timing and driver circuit which may be used as block 50 of FIG. 1.

FIG. l2 is an electrical schematic diagram illustrating a read switch which may be used as block RS-R through RS-11 of FIG. l.

FIG. 13 is an electrical schematic diagram illustrating an RC lter which may be used as blocks FC-1 through FC*12 of FIG. 1.

Referring now to the drawings, FIG. 1 illustrates a preferred embodiment of the invention in block diagram form together with a digital computer of the type disclosed in copending application Serial No. 261,248 fi'ed February 21, 1963, on behalf of John M. Hunt and assigned to the assignee of the present invention. As shown in FIG. 1, a digital computer indicated as block includes an output register 21 into which the digital words to be converted to analog voltages are placed by conventional digital computer circuits. In the preferred embodiment of the invention, output register 21 is capable of storing a 12-bit word. Register 21, in a typical application, comprises twelve individual flip-flops, however, register 21 is intended to symbolize any one of a variety of data word locations in a digital computer, from which successive data words may be read out, parallel by bit, serial by word. Further, the digital words from computer 20 each originally may comprise an arbitrary number of i significant binary bits. However, in the preferred embodiment of the invention as described herein, only ten significant magnitude bits plus a round-off bit and a sign bit are converted into an analog voltage, it being understood that the invention is readily adaptable to convert any desired number of si gnicant bits.

Twelve output lines indicated collectively as cable 19 in FIG. 1, connect an output signal from each of the stages of register 21 to twelve individual Y gating amplifiers, LWB-1 to LWB-12, only two of which are sho-wn. A detailed description of one form of suitable gating amplifier is given below in connection with FIG. 6. Each of the gating amplifiers is also connected via line 302 to receive an enabling pulse from a write timing unit 301, and upon occurrence of a write timing pulse on line 302, each of the gating amplifiers operates either to energize or not energize a particular vertical input wire of a special 12-'oy-192 bit core memory matrix 315, depending upon whether the bit applied to it from its associated stage of register 21 is a l or a 0. The write timing unit is controlled by advance pulses on line 26 from computer 20, and one form of suitable write timing'unit is described below in detail in connection with FIG. 7. Each advance pulse on line 26 also steps or advances an eight-stage binary load counter 305, which provides a parallel digital number output via sixteen lines (shown collectively as cable 18) to decoder unit 307. Decoder unit 307 operates essentially in the manner of a selector switch, operating to energize a particular horizontal row of cores in memory 315 in accordance with the instant count in load counter 305. One suitable form of decoder is explained below in connection with FIG. 4.

Digital words are written into core memory 315 by the coincident current technique. Each core in memory 315 is provided with a first input winding connected to one of the Y 'gating amplifiers, which provides approximately one-half of the current required to switch the magnetic state of each core in the column of cores to which it is connected. As shown in FIG. 3, gating arnplifier LWD-l is provided with two output terminals Y1 and Y1 which are connected to a vertical wire winding which passes through all 192 cores of the right-hand column of cores as viewed in FIG. 3. Each of the other eleven gating amplifiers is similarly connected to a re` spective column of 192 cores. Each core in memory 315 is also provided with a second input winding driven by the output of decorder 307 to provide an equal amount of current. As shown in FIG. 3 core array 315 is provided with 192 horizontal or X write windings, each of which passes through all 12 cores in its associated row of matrix 315. The terminals of the first X write winding are labelled X1 and X'1 in FIG. 3. The terminals of each of the 192 X write windings are connected to decoder 307 so that the X write windings are energized individually and successively as load counter 305 is advanced. Like the vertical write windings the horizontal write windings also supply only one-half of the magnetization necessary to switch the magnetic state of a core. If only one of the two input or write windings of a given core are energized, the magnetic state of the core does not switch, but if both the vertical and horizontal input windings of a given core are simultaneously energized, the core will switch to a given magnetized state, and then remain magnetizedvin that state until a readout or reset process occurs. As successive advance pulses from computer 20 cycle counter 305, successive 12-bit words are stored in memory 315 in consecutively grouped sets of cores, at successive word data addresses. Being provided with 192 horizontal 12- bit rows of cores, memory 315 acts as a buffer storage medium for as many as 192 12-bit input words switched into it from register 21 of computer 20.

Though all l2 bits of a word are written into core memory 315 simultaneously, they are read out serially by bit and parallel by word, by read timing circuitry to be described in detail. Read timing logic, shown in block form as 70 in FIG. 1 and in detail in FIG. S, is operated by drum address counter 24 of computer 20, to generate a series of 12 timed pulses which are spaced'apart in a binary progression. The twelve timed pulses are applied individually via 12 output lines 701 to 712, to 12 transistor read switches (RS-R and RS-l to RS-ll) connected to twelve vertical unload or read wires, each of the wires being strung through all 192 cores of a respective column of core memory 315. In FIG. 3 each of the 12 unload or read windings of core memory matrix 315 are shown connected between conductor 90 and a respective read switch. The twelve read timing pulses are also 0Red together in circuit 70 and applied via read timing driver amplifier circuits 50 and line 90 to the other ends of the 12 read windings, so that individual ones of the 12 read windings'are energized when the 12 read timing pulses occur. When a read timing pulse is applied to the vertical read wire associated with a given core, the core will be switched to its 0 magnetic state if it is not already in that state. If the core is in the l magnetic state and its read winding is energized to switch it tothe 0 state, rate of change of flux in the switched core induces an output voltage of a given magnitude in a sense winding threading the core. However, if the core is already in the 0 state, a lesser flux change occurs, and a much lesser (preferably zero) amplitude output pulse appears at the sense winding output terminals. In the preferred embodiment being described, output voltages of approximately 40-50 millivolts are obtained when a magnetized core (f e., a core in the 1 state) is read, while less than 6 millivolts output occur upon interrogation of a core in the 0 state. The sense windings of all l2 cores in a given row are connected in series. The terminals of the sense winding through the first row of cores are labelled S1 and S1 in FIG. 3. As the 12 read windings of the cores in row No. 1 are successively energized, output pulses will appear between sense winding output terminals S1 and 'S'1 associated with that row for each 1 bit theretofore stored in thecores of the No. 1 row. Thus the 12 bits comprising a given data word are read out serially in a time-weighed sequence, with each bit weighed according to its significance, by the timing of the read pulses applied to the read windings of core memory 315.

The series of pulses from the sense winding of each row is connected, preferably through a twisted pair (to reject noise) to a respective sense amplifier (SA-1 to SA-192 in FIG. 1) and utilized to control a respective flip-fiop (FF-1 to FIF-192). The sense amplifiers each function as threshold determining devices, being biased so as to ignore the low amplitude output voltages induced in the sense windings when a core being read is in the 0 state, but provide a sufiicient output voltage to switch the associated flip-flop when the core being read is in the 1 state. Each sense amplifier includes a monostable multivibrator output stage which provides a negative-going set output pulse of predetermined duration on a first line when a 1 input is applied, and additionally, the sense amplifier provides a positive-going reset output pulse of predetermined duration on a second output line upon the application of a 1 input. When the 12th, or roundoff bit column is read, by energization of read switch RS-R, each of those data words having a 1 in its round-off column will provide an output pulse on its associated sense winding, thereby switching its corresponding flip-flop to a first stable state (if it is not already in that state), while those flip-fiops associated with words having 0 roundof bits are switched to the second stable state (if they are not already in that state). The state of each flip-flop is connected to control a respective transistor switch (TS-1 to TS-192 of FIG. 1), to gate a first precision reference voltage to a respective RC filter circuit (FC-1 to 13C-192) when the fiip-op is in the first state, and to gate a second reference voltage to the filter circuit when the flip-Hop is in the second state. The 192 waveforms applied to the 192 filter circuits, each comprising time weighed pulses of uniform amplitude, are averaged by the filter circuits to provide 192 analog output voltages.

In the invention, all timing is based upon and controlled by the basic machine cycle of digital computer 20, which as indicated in FIG. 1, is derived from the rotation, at constant speed, of magnetic storage drum 200. Drum 200 Iis driven at 2400 r.p.m., making a complete revolution every 1%,0th of a second. Each track around the circumference of drum 200 is arranged to contain 4096 data bits, and thus an individual bit time or machine cycle, is 6.105 microseconds. The 4096 pulses around one track of drum 200 are readby read head 23, and utilized to advance a conventional 1`2-stage vbinary counter 24 designated the drum address counter, which cycles through its total count of 4096 once during each drum revolution, and hence the instantaneous count in drum address counter 24 is an indication of instantaneous drum position. The 4096 bit spaces around drum 200 are given drum address numbers from A0000 to A4095. As will be apparent from FIG. 2q, during the first quarter of each drum revolution, as drum address counter 24 counts from addresses A0000 to A1024, the invention simultaneously converts to analog form 192 digital words which were. read from computer register 21 during the fourth quarter-cycle of the preceding drum revolution. During the second quarter of each drum revolution, as drum address counter 24 counts from drum addresses A1024 to A2048, 192 new digital words are read from register 21 into core memory 315. The 192 new digital words are simultaneously converted to analog voltages during the third quarter of each revolution which lasts throughout drum address counts A2048 to A3072, a further group of 192 digital words being read from register 21 during the fourth or last quarter of a revolution, from A3072 to A4095. It will be seen that two complete readout and conversion cycles are completed during each drum revolution, and hence the basic conversion frequency is cycles per second.

As mentioned above, twelve read timing pulses are generated during both the first and third quarter-cycle to provide a binary time-weighing of the twelve digits of the data words being converted. As will be explained, each read timing pulse is used to determine whether a given bit position in each of the stored data words is l or 0, and to control the generation of an accurate amplitude pulse (of one voltage level or another voltage level depending upon whether the bit was 1 or 0) -for a time period which is weighed in accordance with the bit significan'ce, and upon filtering of the twelve pulses obtained during each conversion cycle, an analog output voltage is obtained. Thus during the first quarter of each drum revolution, twelve read timing pulses are generated, during the following drum address counts:

A0000 A0002 A0004 A0032 A0128 A0256 If the least-significant bit of a data word is 1, the read i significant bit is 0, a'minus 10-volt pulse will be generated during the A0001 to A0002 machine cycle. If the next least significant bit of the word is 1, occurrence of the read timing pulse at A0002 will cause a |10volt pulse to be generated for two machine cycles, from A0002 to A0004. In similar fashion, the succeeding read timing pulses cause plus pulses or minus pulses to be generated in accordance with whether succeeding more significant bits are l or 0, for time periods which are scaled in accordance with bit significance. The read timing pulse generated at the end of the first quarter (A1024) of a drum revolution causes a -|-10volt pulse to be generated for 1024 machine cycles (from A1024 to A2048) the entire second quarter of a revolution if the most significant digit of the data word is 1.

In the 12-bit binary word, the most significant bit will represent the positive or negative sign of the quantity, the next 10 bits will represent the absolute value of the quantity, and the final bit will merely provide a roundoff. The analog output signal is derived from the 12-bit binary word by an integrating filter means which essentially sums the weighed values of the binary bits. Since the input levels may be either a positive or a negative 10 volts, the analog output signal may likewise be positive or negative in polarity. The most significant bit -representing the sign information is weighed 1,024 times the weight of the least significant bit, and as such will cause the analog loutput signal to be positive or negative in polarity corresponding to the positive or negative sign of the digital input quantity. Thus, the most significant bit representing the sign may be expressed as 2lo power as compared with the least significant bit which is 20 power. A simplification of this apparatus has been accomplished by giving the roundoff bit an equal weight to the least significant bit of the absolute value quantity. Therefore, it may be appreciated that the least significant bit of the absolute value quantity and the roundoff bit are both weighed as 20, and the more significant bits weighed accordinglythe weighing of the various bits being accomplished by varying the time intervals during which the voltages are impressed upon the integrating filter means. It may be noted that the invention is loading new data words into its core memory during the second quarter revolution while simultaneously converting the most-significant digit of each of the data Words loaded one-half revolution before. It will be readily apparent from the above list of drum address counts that the time between successive read timing pulses increases in accordance with a binary progression. Similarly, during the third quarter `of each drum revolution, when a further conversion cycle is occurring, twelve further read timing pulses are generated during the following address counts:

A2048 A2049 A2050 A2052 A2056 A2064 A2080 A2112 A2176 A2304 A2560 A3072 The second series of read timing pulses may be seen to be spaced in accordance with an identical binary progression. In the two above-listed series of drum address counts at which read timing pulses are generated, it may be noted that each binary series is preceded by a first time period equal to the least-significant bit time period. For example, the A0001 to A0002 period (one machine cycle) is preceded by the A0000 to A0001 period, which also lasts one machine cycle, and similarly, the A2049 to A2050 time period (one machine cycle) is preceded by the A2048 to A2049 period, which also lasts one machine cycle. During these two initial machine cycles which precede the binary-increasing series of time periods, no -i-l-volt pulses are generated. Thus in any conversion cycle, regardless of the digital word being converted, the

pulse train begins with a minus pulse indicating a 0 bit .1 1 1 1 1 1 1 1 1 1 1 1/2 1A 1/s e 1/12 1454. 1/128 1/256 1/512 1/1024 1/zors Regardless of the number of digits provided in the fractional binary code,`the number never equals 1.000, but is always less than unity by an amount equal to the least significantdigit. Even if all eleven bits of the word are 1, the value ofthe binary number is 1.000 minus 1/211.

Now it may be seenlthat the blank or no pulse cycle provided at the beginning of each pulse train corresponds to the 1/ 211 or approximately .049% minimum least significant digit amount by which unity must exceed the digital number. lf the initial blank machine cycle were not provided, the analog output voltages would each exceed by .049% the established relationship, wherein 1 volt equals .100, 5 volts equal .500, etc., and hence the disclosed arrangement considerably simplifies system scaling. Now the nature of the waveforms applied to the output filters may be apparent. Each waveform lasts throughout one conversion cycle (one-half drum revolution) and comprises an initial minus pulse for one machine cycle to represent the 1/ 2048 or .049% by which the analog output voltage never reaches full scale, and then eleven plus or minus pulses (depending upon whether the eleven bits of a word are l or 0), with each one of the succeeding plus or minus pulses having twice the duration of its predecessor. The entire conversion consumes 2048 machine cycles, and upon completion of one conversion cycle another conversion cycle begins immediately.

If the transistor switches (TS-1 to TS192 of FIG. 1) are connected to apply either +10 volts or zero volts to their respective filters, it will be seen that the analog output voltages obtained will always be positive. It is quite possible, and within the scope of the invention, to sum a negative bias or offset voltage with the output voltage from each filter so that the resultant outputs may be either positive or negative. For example, if offset voltages of minus five volts are summed with the filter output voltage, by means of conventional summing amplifiers (not shown), resultant voltages ranging from -5 volts to +4.999 volts will be obtained from digital input words, all of which are positive.

lf the digital numbers to be converted include a sign bit, however, plus a plurality of magnitude bits, the invention may be used to provide analog output voltages varying properly in magnitude and polarity without the use of bias voltages, by translating each digital number to a revised form before conversion and by connecting opposite polarity, reference voltages to the transistor switches and such an arrangement is shown herein. Suppose X equals a fractional binary number between 000 and .99999 (decimal) having eleven significant magnitude bits, plus a sign bit to indicate whether it is positive or negative. If unity is added algebraically to X and then the sum halved, the result X will be seen always to be positive.

Thus if the result of a computation within computer 20 is a fractional binary number X which is either positive or negative, X may be translated to X and the latter stored in register 21. If X is zero, X' will be 1/2. If the digital number .100000 (i.e., decimal 1/2) is set in register 21, it will be seen that the transistor switch will apply +10 volts to the filter during one-half of a conversion cycle (1024 address counts) and will apply -10 volts to the filter during the other half of the cycle, resulting in zero output volts from the filter. If X is positive, X will be greater than 1/2, so that the transistor switch will apply plus voltage to the filter for a longer time than negative voltage, resulting in a net positive voltage output from the filter. Conversely, if X is negative,X will be less than 1A, so that the transistor switch will connect negative voltage to the filter for a longer Itime than positive voltage, providing a net negative analog voltage output from the filter. The specific embodiment of the invention shown herein utilizes this technique for providing output voltages of either polarity which are correct in both magnitude and polarity. Since adding unity to a fractional binary number and then halving the sum are standard arithmetic operations and may be accomplished in computer 20 with a variety of known alternative circuits,

put quantity. On the other hand, should the sign bit be a binary 1 indicating a negative value, the sign together with all of the numerical bits will be complemented in accordance with the 1s complement. In the case of a positive quantity, the sign bit alone will be inverted, and in the case of a negative quantity, all of the bits will be inverted. Mathematically, thisis equivalent to the relations described above wherein the fractional binary number is added to unity and then halved.

In FIG. 2b, the first eleven drum, address counts of a drum revolution are shown in an expanded scale. The drum address clock pulses derived by read head 23 and applied to advance drum address counter 24 are shown as waveform #1, and the five read timing pulses generated during this period (A0000 to A0011) are shown as Waveform #2.

For convenience in understanding the details of and some of the refinements in the timing of the invention, each 6.105-microsecond basic machine cycle may be regarded as consisting of six successive time periods each approximately one microsecond in duration, with the six periods designated nl through p6 for identification. A clock pulse is Irecorded during phase 1 of each basic machine cycle around one track of magnetic drum. 200 as shown by waveform #1 of FIG. 2b. Read head 27 reads the clock pulses, driving single-shot multivibrator SS-l (see FIG. l), which. generates an output pulse of 0.5 microsecond duration for every clock pulse. The trailing, positive-going edge of the SS-l output triggers a second monostable multivibrator SS-2, which provides a positive-going 4.5-microsecond output pulse on line 34. As will be further explained below, the SS-2 output pulses, designated clock strobe pulses, are used to strobe readtiming logic 70 to prevent spikes which might otherwise occur due to circuit inequalities.

Referring again now to FIG. l, assume that a 12-bit data word output exists in output register 21 of digital computer 20. Upon receipt of an advance pulse from computer 20 via line 26, write timing unit 301 provides a write timing pulse via line 302 to the plurality of gating Y load-write driver amplifiers shown in detail in FIG. 6. As shown by waveform #2 of FIG. 2c, the' advance pulses from computer 20 are arranged to occur during the p phase of those machine cycles when they do occur, and to have a duration of approximately 1 microsecond. Each advance pulse on line 26 will be seen from waveform #3 of FIG. 2c to cause Write tim ing unit 301 to provide a negative-going pulse of 3/.t sec. duration, which lasts throughout the p6 phase of the cycle in which it is generated and extends into the p1 and 952 phases of the next machine cycle. The advance pulse on line 26 also is applied to load counter 305, which applies a parallel binary number via 16 Wires represented collectively at 18 (in FIG. 1) to decoder unit 307. The negative-going 3/1 sec. write timing pulses on line 302 are also applied to decoder unit 307. Unit 307 provides a load signal input to one of 192 horizontal or X wires of core memory 315, the particular X wire energized being dependent upon the count in load counter 305. Inasmuch as decoder 307 is also controlled by the write timing pulse on line 302, the load signal applied to a selected row of cores occurs in synchronism with the 3p sec. output pulses on line 302, as indicated by waveform #4 in FIG. 2c.

The connection of the Y load driver amplifiers and the X wire inputs to core memory 315 is shown in more detail in FIG. 3. In the specific embodiment described, the input data from computer 20 is arranged to appear in register 21 for intervals of approximately 4.5 microseconds beginning during the p4 phase of one drum address count and lasting through the p2 phase of the next drum address count, as shown by waveforms #S and #6 in FIG. 2c.

During the time 414, the sign bit is interrogated to determine whether the analog voltage will be kpositive or negative. If the sign bit is 0, indicating that the quantity is positive, then the sign bit itself will be complemented and changed to a 1 bit, but all ofthe remaining numerical bits will be passed unchanged. On the other hand, if the sign bit is binary 1, indicating that the quantity is negative, the sign bit together with all of the remaining bits will be complemented in accordance with the ls complement. In a ls complementing operation, each of the bits is inverted such that all of the binary 0s become binary ls, and all of the binary ls become binary Ovs.

In FIG. 2c, the waveforms #5 and #6 are shown extending through two address drum count intervals wherein each drum address count includes the six phases 451 through p6. The Waveform #5 is representative of two digital ls, while the waveform #6 is representative of two digital Os. During the first count N, it is assumed that the sign bit has been interrogated and determined to be a binary 0 indicating a positive quantity, but during the second count N+1 the sign bit was interrogated and found to be a binary 1 representative of a negative quantity. Thus, the waveforms #5 and #6 indicate four different conditions-the binary l of both the positive and negative quantities and the binary 0 of both positive and negative quantities. In each case, the interrogation of the sign bit occurs during the interval p4 and the readout is accomplished during the next time interval g55.

In the first case, shown by the curve #5 during the drum address count N, the wave drops negatively durf ing the interval p4, and because no complementing operation is called for, the wave will remain negative to provide a binary 1 output during the interval (p5. The wave #6 remains at 0 volts representative of a binary 0 continuously through the entire intervalof the drum address count N, and there is no complementing operation because the sign bit has been determined to be positive. In the third case, the Wave #5 during the drum address count N+1 represents the condition of a binary 1 input which must be complemented because the sign bit has been interrogated and the quantity has been determined t0 be negative. During, the interval p4 (count N+1) the Wave #5 drops negatively indicative of a binary l, but immediately thereafter will invert this Wave such that during the next p5 the output wave will be a binary 0. The final case represents a binary 0 input which must be complemented because the quantity has been determined to be negative (Wave #6 during drum address count N+1). In this case, the initial value of the Wave during the interval p4 was 0 volts, but the complementing operation caused the voltage to drop to a negative 6 volts such that the readout during the interval p5 will be representative of a binary 1.

If the zero-th bit in the 2R stage of register 21 is 1, the energization of line 302 with a write timing pulse causes Y gating amplifier LWD-l to provide an output current having half the magnitude necessary to switch the magnetic state of all 192 cores in the column of cores associated with LWD-l. If instead the Zero-th bit in the register 21 is 0, amplifier LWD-l provides no current through its associated vertical Wire. All of the other load-write amplifiers operate similarly, and hence it will be seen that half the required core-switching current will -be applied through the cores of all vertical columns of cores associated with 1 bits of the word in register 21, while no current will be applied through the other vertical columns of cores. If load counter 305 is at its "001 (decimal) count position, unit 307, Aunder control at write timing unit 301, applies one-half of the required switching current to the X1 horizontal row of cores in memory array 315, as more particualrly hereinafter described, and hence only those cores of the X1 row whose vertical wires are energized by 1 bits in register 21 have suicient current to be switched to the 1 state, all of the remaining cores in array 315 remaining in the state. In this manner, the parallel l2-bit word contained in register 21 is transferred to the X1 row of cores. Next, upon receipt of a further advance pulse from the computer signifying that a new word is present in register 21 and should be read, counter 305 and units 307 and 301 energize the X2 horizontal row of cores, storing the new word in the X2 row upon energization of line 302. As additional advance pulses are received from computer 20, additional words are written in successive horizontal rows of the core array, up to a maximum of 192 words. Home pulses are derived from drum 200 by head 29 at drum address counts A1024 and A3072, which mark the beginning of the two loading cycles, andthe home pulses are applied via line 31 to reset load counter 305 to its zero count at the beginning of each loading cycle. Y

The advance pulses connected to operate write timing unit 301 and to advance load counter 305 are shown in FIG. l as being derived from control circuit 37, which may take a variety of different forms depending upon the precise nature and use of digital computer 20. -lt may be noted, however, that no data words are attempted to be read out of register 21 unless an advance pulse is generated by control circuit 37, and hence that the reading out of the data words into the D/A converter is always under the control of computer 20. Ina number of applications the data address symbolized by register 21 actually may comprise a data location which is accessible only by one circuit element at a time, and in such arrangements it may be important that readout for D/A conversion not interfere with an access needed for an internal computation within digital lcomputer 20. For example, register 21 might actually comprise a random-access core memory used for much of the internal computation and execution of a specied program within computer 20 or the accumulator of an arithmetic unit within computer 20. Since the readout of the successive data wor-ds into the D/A converter of the present invention need not occur at a iixed and uninterrupted rate, the readout easily may be made to occur at time period-s during which none of the other elements of computer 20 require access to the data location symbolized by register 21.

Decoder 307 comprises a form of diode matrix decoder which may be understood by reference to FIG. 4. Decoder 307 is a 256-position selector switch although only 192 positions are utilized and its eiective to half-energize a particular one of the 192 horizontal rows of cores in memory 315 in response to a particular count in load counter 305. Matrix 307 includes 16 horizontal input lines, 601 to 616, each of which is connected to a respective transistor switch, S601 to S-616, and 16 vertical input lines, 617 to 632, each of which is also connected to a respective transistor switch, S-61'7 to S-632. Binary load counter 305 includes eight binary stages, each of which is provided with a set and a reset output line. The set outputs of the eight stages are labelled A through H, beginning with the least significant stage, and the reset output lines are similarly labeled through Inasmuch as load counter 305 may comprise a completely conventional 8-stage binary counter (with a reset capability), no detailed explanation of load counter 305 is necessary.

Each of transistor switching units S-601 through S616 comprises a five-input AND gate which is connected to an individual group of four output lines from counter 305 and to the write timing pulse on line 302. Similarly, each of transistor switching units S-617 through S-632 comprises a fveinput AND gate connected to the write timing 12 pulses and to an individual group of four of the counter 305 output lines.

When the count in load counter 305 is zero (decimal), or E D F the now energized lines T of the four higher order stages of counter 305 operate transistor switch S-616 (upon the occurrence of the write timing pulse on line 302), and the now energized lines D of the four lower stages of counter 305 simultaneously enable transistor switch S-617. All of the other transistor switches associated with the decoder are disabled at this time. Upon occurrence of write timing pulse on line 302, transistor switch S-617 connects the X-line current pulse from the X-line driver ampliiier 309 through the collector and emitter of the transistor in switch S-617 to line 617. In like manner, switch S-616 simultaneously energizes line 616. Connected between horizontal line 616 and vertical line 617, and in series with diode X-256, are the twelve windings of one row, row 192 by way of example indicated by reference numeral 256, of the 192 X rows of core memory 315, and thus upon occurrence of a zero count in load counter 305, driver amplifier 309 is connected to apply current through the cores of X row No. 192. As the count in load counter 305 changes in response to the advance pulses which occur from time to time during a loading quarter revolution of drum 200, diierent core rows in the 192-row core memory are half-magnetized. As typiied by the coding shown in detail of those S-input AND gates shown speciiically, the inputs to the AND gates are arranged so that only one of the AND gates of the S601 to S-616 group and only one of the AND gates of the S-617 to S-632 group will be enabled at a time. Therefore, only one horizontal conductor and only one vertical conductor of the decoder matrix will be simultaneously energized so that the decoder thereby half-magnetizes only one l2-core group of cores, i.e., only one horizontal row of cores, in memory 315. It should be noted that use of the 16-by-l6 decoding matrix allows the selection of any one of as many as 256 `core rows, and hence a larger core memory could be used, if desired. The 64 unused matrix positions are grouped together for convenience and sake of simplicity, so that core rows Nos. 1 through 192 are successively energized as the count in load counter 305 varies from 0 to 191 (decimal) and as the count in load counter 305 varies from 192 to 255 no horizontal rows of cores are energized. At the beginning of each loading cycle, i.e., at drum address counts Al024 and A3072, a home pulse derived from read head 29 energizes the reset line of load counter 305, resetting counter 305 to a zero count. When a given row of cores is selected by a given count in counter 305 the diodes of the decoder matrix prevent unwanted parallel paths, or sneak circuits, from being formed, so that only a single row of cores will be excited during any given count in counter 305. As will now be evident, each of the 192 rows of cores in core memory 315 are connected between an individual pair of horizontal and vertical wires of the decoding matrix, and hence as load counter 305 is advanced by successive advance pulses from the digital computer, the 192 core rows are successively half-energized.

Drum address counter 24 (see FIG. 1) comprises 12 binary stages, each stage having a set and a reset output line, and as successive clock pulses are applied to counter 24 it counts repeatedly in binary fashion up to 4096 (decimal). lnasmuch as drum address counter 24 may comprise a completely conventional binary counter, no detailed description of its internal circuits is necessary. As mentioned above, there are 4096 bit spaces around a single track of drum 200, so that the instantaneous count in counter 24 is an indication of instantaneous drum position. As is well-l nown, any given stage of a conventional binary counter goes through twice as many cycles as its adjacent higher order stage, and hence the rst 11 I3 loading and conversion cycles during each drum revolution, it will be seen that the first 11 stages of counter 24 cycle are in synchronism with the loading and conversion operations.

The eleven set output lines and the eleven reset output lines from the eleven last-signiiicant stages of drum address counter 24 are indicated collectively in FIG. 1 as cable 25 and shown connected to the read timing logic circuit 70, which is shown in detail in FIG. 5. The fset outputs from the eleven least-significant stages of counter 24 are labelled individually with the letters A through K in FIG. 5, the zero-th set output -being labelled A and the 21 set output being labelled K. The reset outputs of the same stages of counter 24 are labeled through in corresponding fashion. The condition after counter 24 has been reset to zero may be indicated by the following Boolean expression:

After application of one input pulse to counter 24 the condition of counter 24 will be A I5 F with the lowest-order stage set, but al1 other stages still reset. After application of a second input pulse the counter condition will be B D F' It will be seen that as `successive input count pulses are applied to counter 24, that the count numbers which provide ten reset conditions and a single set condition vary ina binary progression. For example, the A and B stages of the counter are set respectively after the iirst and secondV input pulses as mentioned above. The C stage, and only the C stage, is setl after 4 input pulses, the D stage alone after S input pulses, etc., up to the K stage which willbe the only stage in a set condition after 1024 input pulses have been applied to counter 24. Each of these conditions of counter 24 wherein all stages except one are reset is sensed by a gating circuit and used to provide a pulse in a read timing pulse train which is used to read data out of magnetic core array 315. The read timing pulse train (Zut) may be described as follows:

Below each term in the above expression a number indicates the pulse count of counter 24 at which the term will provide a 4.5-microsecond pulse in the pulse train. As p shown in FIG. 5, the read timing pulse train may be provided by connecting all the set and reset output lines of counter 24 `to twelve AND gates ZG-l to ZG-12 with the outputs of the AND gates connected through an OR gate ZG-0. As shown in FIG. 3, the twelve individual Vread timing pulses on lines 701 to 712 are connected individually to read switches RS-R, RS-1 to RS-12, to selectively enable the switches during the occurrence of their respective read timing pulses, and thereby allow read driver circuit to apply current (via line 90) selectively through the 12 read windings of core memory 315. Current will be seen to be applied through a given read winding upon coincident enabling of its respective read switch and occurrence of an output pulse on line 90 from read driver circuit 50. Being gated bythe 4.5-microsecond output pulses in the -read timing pulse train, the read switches are enabled lfor 4.5 microseconds periods. Read driver circuit 50 is triggered by the leading edges of the read timing pulses in line 713, and provides lslightly narrower output pulses, of'approximately 3 microseconds width, substantially centered within the read timing pulse intervals, as shown lby waveform #3 in FIG. Zbl The output pulses which occur from cores being read during the reading of several logical ls and several logical 0 are shown by waveform #4 in FIG. 2b. The output pulses from a sense winding associated with a given row of cores are used to set or not set a respective sense amplifier, as mentioned above. As will be evident from waveforms #6 and #7 of FIG. 2b, the large amplitude core output pulses which result from reading a logical "1 result in a positivegoing pulse on one output line of the ampliiier and a negative-going pulse on the other output line of the ampliiier, while the relatively small or insignificant pulses obtained upon reading logical Os fail to produce any output pulses from the sense amplier. A 4.5-microsecond clock strobe pulse on line 34 from single-shot multivibrator SS-2 is also connected to each and gate of circuit 70 to determine the width of the output pulses from circuit 70 and to prevent spikes from appearing in either any single read timing pulse or in the read timing pulse train itself. Inasmuch as pulses of accurately uniform 4.5-microsecond width are provided from mutli-vibrator SS-Z and used to gate the read timing logic, spikes which Y train susbtantially in the center phases of each machine' cycle, as indicated by waveform #2 in FIG. 2b.

The read timing pulse train on line 713 is connected to trigger further timing circuits shown in block form in FIG. 1. Each pulse in the read timingpulse train triggers a first monostable or single-shot multivibrator SS-3, which provides a 2.5-microsecond output pulse, the trailing edge of which is used to trigger a second single-shot multivibrator SS-4, which provides positive-going pulses of 1.5 to 2.0 microseconds duration which are delayed behind the leading edges of the sense amplifier output pulses. These positive-going pulses are inverted by three stages of power amplification represented by block 52, providing read timing strobe pulses on line 87 in FIG. l, of a nature shown by waveform #8 in FIG. 2b. The read timing strobe pulses on line 87 are connected to gate the set and reset inputs of iiip-liops FF-l to FIF-192 and transistor switches TS-1 to TS-192. inasmuch as the strobe pulses on line 87 are delayed behind the leading edges of the sense amplifier output pulses, none-of the flip-Hops whichA make all of the amplifier dynamic characteristics absolutely identical. It will be seen from waveform #9 in FIG. 2b that when the flip-Hops and transistor switches are switched, switching occurs upon occurrence of the read timing strobe pulses on line 87. In FIG. 2b waveform #9 indicates the nature of the pulse train which would occur from a given transistor switch if the data word being converted consisted of alternate ls and 0s.

To further insure that uniform width pulses are obtained for conversion, the signals applied from the magnetic core memory output windings to their associated sense ampliiiers (SA-1 to SA-192) are strobed by pulses applied via line 88 to each of the sense amplifiers., The pulses of the read timing pulse train on line 713 are applied to read timing and driver circuits indicated as block 50 in FIG. 1 and shown in detail in FIG. 1l. A delayed pulse generated on line 91 operates strobe pulse generator 51 and its associated power ampler 51a, the details of which are shown in FIG. 9, to provide a 0.8-microsecond wide strobe pulse to gate the input signals applied from a given core output winding to its associated sense ampliiier. The timing of the strobe pulses is indicated by waveform #5 in FIG. 2b. The strobe pulses on line 88 are delayed approximately .6 microsecond behind the leading edges of the pulses on t5 line 90, and hence behind the beginning of the output pulses generated upon reading the cores, so that the pulses from all of those cores which are simultaneously inducing an output voltage have time to reach substantially their peak values before they are gated into the sense amplifiers, thereby tending to obviate slight timing differences which otherwise could occur from different cores having different rise and fall characteristics.

As shown in detail in FIG. 6, each of the IZ-LOad-Nrite driver or Y gating amplifier circuits comprises a Z-input nand gate including diodes X-Z and X-S, an inverter Q-t and a power driver stage Q-Z, which can furnish 175 ma. output drive current. In the quiescent state of operation, one or both of the input signals is zero volts, the base of transistor Q-l is reverse biased and Q-1 therefore is cut ofi. The output of Q-l. clamped at 6 volts by diode X-l, and as a result transistor Q Z is forward biased by the 6 volt level input and is saturated. The collector voltage of transistor Q-Z is approximately -|-3.0 volts and effectively reverse biases the base of transistor Q-3, thereby cutting off Q-3. The input signals to diodes X-Z and X-3 are negative-going pulses, and during the interval of their coincidence both diodes are back-biased. Transistor Q-l now is forward-biased and its collector voltage increases to approximately 0.5 volt. Transistor Q-Z now is reverse-biased and cut off. The Q-2 collector voltage tends to fall toward the 1S-volt supply level but is held at approximately 0.5 volt by the base-to-emitter drop of Q-3 as it begins conduction. Transistor Q-3 then conducts for the duration of the coincident time interval between the write timing pulse on line 302 and the bit from one of the stages of the digital computer output register 21, and the output current from transistor Q-S is connected as shown to half-magnetize all 192 write windings of its associated column of cores.

Write timing unit 301 of FIG. l is shown in detail in FIG. 7 to comprise an inverter stage, two blocking oscillators, and a power amplifier stage. The inverter stage comprises transistor Q-114, resistor R-t and the input biasing resistors R-3 and R-lt. An RC differentiating circuit comprising capacitor C-115 and resistor R-112 provides the triggering signal for the first blocking oscillator, an emitter-controlled type which includes Q-itl, transformer T-1, and resistor R-lll. The output pulse width from this blocking oscillator is set by resistor lil-1511, and this pulse width determines the time by which the leading edge of the output pulse is delayed from the leading edge of the input pulse, and the delay is set at 1.0 microsecond. The second blocking oscillator, which includes transistor Q-122, transformer T-2 and resistor R- 112, has an output pulse width which provides a circuit output pulse of 3,0 microseconds. The power amplifier stage inverts the 3-microsecond blocking oscillator output and is coupled to line 362 which drives the'12 loadwrite driver circuits (LWD-I to LWB-12) and the 32 .decoder and load switch circuits.

The input signal to the write timing unit is the advance pulse on line 26 from the digital computer 20, and comprises a positive-going pulse of 6 volts. In the absence tof the advance pulse, the input line 26 remains at 6 volts, biasing the base of transistor Q-114 more negative than its emitter, so that transistor Q-114 is at cutoff, with la small collector current Ico fiowing. The output of -Q-114 at its collector is clamped at approximately zero volts by clamping diode X-li. Transistors Q-M and Q-112 of the two blocking oscillators are cut off, and transistors Q 115 and Q-116 of the power amplifier stage are conducting. This latter action results since resistors R-126 and R-IZ, each of which are connected to the positive twelve volt power supply, are of equal magnitude, and R-130 and R-132 also are of equal magnitude. Note also should be made of the fact that dio-de X440 is connected through windingc of transformer T 2 to the negative six voltpower supply. By properly scaling the ratio .of the resistance f resistors R-130 and R432 to the Vresistance of resistors tlf-126 and R-128, the base electrode of each of transistors Q-115 and Q-116 are maintained at about minus one volt with respect to ground. The output voltage on line 302 is approximately zero volts, and transistor (Q2-113 is cut off since its emitter is more negative than its base by the amount of forward conduction drop of diode X-1tl3.

The positive-going advance pulse on line 26 turns on transistor Q-lldfor the duration of the pulse. Transistor Q-114 saturates, so that its collector falls to approximately 6 volts, and a positive-going pulse is obtained at the Q-114 collector. This pulse is differentiated by C-IlS and R412, and the leading edge negative spike is coupled through diode X-104 while the trailing ed'ge positive spike is blocked. The negative spike forward biases the emitter base junction of Q-ll, thereby causing current tiow through winding a of transformer T-1, and this current pulse through winding a is coupled regeneratively by winding b so that regeneration occurs. The output from winding c in the first blocking oscillator is a l-microsecond positive-going pulse, the duration of which is adjusted by the setting of potentiometer lit-111. The positive pulse leading edge is blocked by diode X-111, but its trailing edge negative backswing is differentiated by C406 and lR115, and the resulting negative spike is coupled via diode X-116 to the emitter of Q-112, triggering the second blocking oscillator, which operates in the same manner as the first, but which provides a 3- microsecond positive-going output pulse to reverse bias the bases of Q-115 and Q-116, cutting them off. At that time transistor Q-113 will begin to conduct and help decrease the fall time of the output pulse. Transistor Q-113 also will clamp the negative-going output pulse on line 302 at approximately 6 volts. In the exemplary sense amplifier shown in detail in FIG. 10 the input terminals S1 and Sl from the X-l row of cores are connected to the primary winding of a voltage step-up transformer T 1001 and the output from the transformer is capacitively coupled through capacitor C-1001 to the base of an inverter amplifier transistor Q-101. Choke L ti in the collector path of transistor Q-tl serves as a peaking coil to accentuate the leading edges of the negative-going pulses on the Q-Itl collector when a 1 pulse applied to transformer T4001 is effective to cut ol transistor Q 101. The output voltage from the Q 101 collector is applied to an emitter follower stage comprising transistor Q-102, and the emitter of Q-102 is clamped at zero volts by diode X-101. Diodes X-102 and X-103 and resistor R-102 form a negative and circuit in which the input signal is anded with the strobe pulses applied via line S8. Line 110, the collector terminal of transistor Q-lt03 is clamped at 6 volts by diode X-105 during the quiescent state. Upon coincidence of a negativegoing pulse from Q-IOZ (signifying readout of a logical l) and a negative strobe pulse on line 88, the negative signal applied to the base of amplifier transistor Q-103 via resistor R-104 provides a positive-going output pulse of approximately 6 volts on the sense amplifier reset output line M0. Transistors Q-IM and Q-10S and associated components comprise a monostable multivibrator, and during the quiescent state transistor Q-104 is cut off and transistor Q-tb is conducting, so that set output line 111 lies at approximately zero volts. The mentioned positive pulse on the Q-103 collector is applied via capacitor C4004 to the Q-10S base, cutting off Q-105 and turning on Q-ltt for the time required for capacitor C4004 to discharge through resistor R-103. Cutting off transistor Q-105 causes its collector voltage to drop, thereby providing a negative-going pulse on line 111. Diode X-105 prevents the collector from going more negative than 6 volts. The single-shot multivibrator is arranged to reset itself in approximately 2.8-microseconds; before the positive pulse disappears from the Q-103 collector. Thus if a logical l input pulse is applied to the sense amplitier of FIG. 10, a negative-going set pulse `17 of approximately 2.8-microsecond duration and 6 volts amplitude will be provided at set output 111, and a positive-going reset pulse of approximately 4-microsecond duration and 6 volts amplitude will be provided at reset output line 110.

The set pulse on the line 111 is generated by the conduction interval of thetransistor Q-105, and the reset pulse on the line 110 is generated by the cut olf interval of the transistor Q-104. These pulses have different time durations because the capacitor C-1004 will tend to hold the transistor Q+104 at cut off for an interval after thel transistor Q-105 cuts off and returns to its quiescent state. After cut off of the transistor Q-105, a finite time must elapse while the capacitor C-1004 charges to approximately the six-volt differential between the collector of transistor Q-104 and thebase of the other transistor Q-105.

The transistor Q-101 is biased by resistor networks coupled between the `12 volt power source and the +18 volt source to provide a predetermined threshold permitting a positive pulse to cut off the transistor Q-101 and to generate a negative pulse to bias the transistor Q-102 into conduction. A pulse sensed by a core being iiipped from a binary 1 is consider-ably greater and of longer duration than the rather insignificant pulse which results from reading logical zeros. Strobe pulses of comparative short duration are impressed upon the terminal 88 and an AND circuit including diodes X-102 and X-103. The timing of the strobe pulses is such as to coincide with the long duration pulses from switching a core when a binary 1 is sensed, but the strobe pulses do not coincide with the smaller output signals resulting from reading logical zeros which are of short duration. Thus, the pulses from the core memory must be of a sufficient minimum amplitude and duration to provide a coincidence with the strobe pulses, and as a result the binary ls gate the strobe pulses through the AND circuit but the binary Os fail to gate the strobe pulses. The circuit of transistor Q-103, therefore, responds only to binary 1 pulses and will be insensitive to binary pulses. The set and reset terminals 111 and 110 of each sense amplifier are connected to the input terminals 801 and 803 of a respective fiip-op and transistor switch circuit of the nature shown in FIG. 8.

The flip-iiop-and level switch circuit shown in FIG. 8 comprises a bi-stable flip-flop connected to drive a complementary emitter 'follower transistor switch. The flip-flop comprises a pair of transistors Q-81 and Q-82, and an emitter follower driver amplifier Q-83 connects the flipfiop output to the switch comprising transistors Q-84 and Q-85. As mentioned above, each sense amplifier is provided with a set output line carrying negative-going output pulses and a reset output line carrying positivegoing output pulses. The set output line from the associated sense amplifier is connected to terminal 801, and the reset output line connected to terminal 803. The negative-going read timing strobe pulses on line 87 are connected to a further set terminal 802 of the flip-flop and to a further reset terminal 804. The two set inputs to the flip-flop are seen to be applied via terminals 801 and 802, through a pair of diodes X-801 and X-802, which together with resistor R-806 form an AND gate, through coupling capacitor C-801 and diode X-803 to the base of transistor Q-82. The two reset input signals are applied in similar fashion via terminals 803, 804, diodes X-804 and X-805 which together with the resistor R-805 form yet another AND gate, capacitor C-802 and diode X806. The -collector signal of transistor Q81 is connected via resistor R-803 and diode X-810 to the base of transistor Q-82, and the collector signal of transistor Q-82 is connected to the base of transistor Q-81 via resistor R-8f04 and diode X-811. In order to prevent saturation of the flip-flop, a pair of germanium diodes X-827 and X-828, and a pair of silicon diodes X-810, X-811 are connected as shown, to provide negative feedback `and thereby limit the saturation of either half of the Hip-flop, which otherwise might delay flip-flop switching.

When a logical l is read out of a core, the associated sense amplifier set output line willv carry a 2.5-microsecond pulse, which goes negative (0 to -6 volts) and then later positive (-6 volts to 0). The negative-going read timing strobe pulses on line 87 are made to occur approximately 0.5 microsecond after the leading edge of the sense amplifier output, and therefore, the amplifier output will have time to fall fully before the strobe pulse is applied. As mentioned above, diodes X-801, X-802 and resistor R-806 form a negative and circuit, and because the leading edge of the sense'amplilier set output and the read timing strobe pulses are both negativegoing, and coincident for the duration of a strobe pulse, a negative pulse Vis differentiated by capacitor C-801 and resistor R-820. Because the sense amplifier reset output line (connected to terminal 803) has gone positive as hereinabove explained, the reset and circuit comprising diodes`X-804 and X-805 is not enabled, thereby preventing the possibility of a reset pulse being applied through capacitor C-802. The leading edge negative spike across resistor R820 is coupled to the base of transistor Q-82 through diode X-803, which is effective to block the positive voltage spike resulting from differentiation. If transistor Q-82 is cut off, the negative spike has no effect and Q-82 remains cut off. If Q-82 is conducting, however, the negative spike reverse biases the Q-82 base and cuts off Q-82. The Q-82 collector rises toward the collector supply (+18 volts) and the emitter follower Q-83 follows. The positive-going transition is connected to the base of Q-81 as mentioned above and begins to turn Q-81 on, so that the circuit flips to its opposite stable state. The set output from the collector of Q-SZ is clamped at approximately +12 volts by emitter follower Q-83. The application of the set output to the complementary emitter switch, Q-,84 and Q-85, cuts off Q-84 and drives Q-85 into heavy saturation, so that both the emitter-base and collector base junctions of Q85 are forward biased. The output voltage at the common emitter terminal 878, which voltage is applied to an output filter as hereinafter explained, varies by only one or two millivolts from the +10-'volt precision reference voltage connected to the collector of Q-85, thereby insuring that all pulses applied to the filters are accurately held to uniformamplitudes. Once a particular flip-fiop has been set -or reset by a set output or a reset output from its associated sense amplifier, the flip-flop remains in that state at least until the occurrence of the next read timing strobe pulse on line 87. After the flip-flop has been set as described above and the next read timing pulse also provides a set and reset pulse output from the associated sense amplifier, signifying that the second digit is also a l, the flip-Hop remains .in its set condition. If the flip-flop is in its set stable state and thenext read timing pulse does not provide both a set and reset output from the sense amplifier, theflip-op is switched to its reset state as next described. When a 0 is read out of core memory array 315, the output pulse applied to sense amplifier SA-l through SA-192 is below the triggering threshold Ilevel so that the set output line 1141 remains at Vzero volts andthe reset output line at +6 volts. The read timing strobe pulse on line 87 is anded as shown in'FIG. 8 with the now negative reset output from the sense amplifier on line 803, and hence the AND gate including diodes X+804 and X-805 is enabled, and passes the negative-going read timing strobe pulse through capacitor C-802 to turn off Q-81 and turn on -Q-SZ, in the same manner as that described above with AND gate including diodes X-801 and X-802. The lower collector voltage now present on Q-82 overdrives the com plementary transistor switch, however, now saturating Q-84 and cutting off Q-85, so that the -l0-volt reference 19 voltage (less the insignificant millivolt drop across Q-84) is supplied at output terminal 878 to the associated filter.

As lmentioned above, the functions of the read timing and driver circuit 50 of FIG. 1 are to generate a delay pulse to drive strobe pulse generator 51 and a strong drive current to ybe applied to the read windings of magnetic core array 315. As shown in detail in FIG. 11, circuit 50 comprises three inverter stages, a blocking oscillator, and a constant current driver stage. In the specific embodiment described, the driver stage is capable of furnishing 350 ma. of current for 3.0-microsecond periods for the core read windings, despite the back e.m.f. induced by the considerable inductance of each core column.

The read timing pulses on line 713 are applied at terminal 714 in FIG. 1l thence through the parallel combination of resistor R-1213 and capacitor C-1207, to the base of transistor Q-1206 of the first inverter stage. The second stage, including transistor Q1205, transformer T-1201, resistance R-1203 and associated components, comprises a blocking oscillator which is triggered by the Q-1206 inverter stage output. The blocking oscillator output signal drives a second inverter stage including transistor Q-1202, which in turn drives both a pair of parallel-connected current driver transistors Q-1203 and Q-1204, and a delayed output inverter stage including transistor Q-1201. Diode X-1212 is connected across the input `signal a-pplied to the second inverter stage to prevent that stage from being driven too hard into saturation during the blocking oscillator output backswing, by limiting the voltage at the Q-1202 base during the transient. Four diodes (X-1207 through Xr-1210) are shown connected in series as a voltage level shifter, to bias transistor Q-1202 to conduction during the quiescent state. Zener diode X-1202, resistor R-1210 and diode X-1201 will be seen to determine the voltage level at which the Q-1202 output signal is clamped during the non-quiescent, or pulse state. The function of diode X-1211 and resistor R-1216 is to clip the backswing transient generated by the inductance of a column of cores when the read current pulse is turned off.

During the quiescent state, the voltage on line 713 connected to terminal 714 is at -6 volts, so that tra-nsistor Q-1206 is cut off, and its collector is clamped at ground potential by diode X-'1203. Transistor Q-1l205 of the blocking oscillator is also cut off. Transistor Q-1202 is forward biased, and has a collector voltage of approximately -35.5 volts. Transistors Q-1203 yand Q-1204, and transistor Q-1201 are also cut off. As a positive-going pulse of the read timing pulse train is applied via line 713, it forward biases transistor Q-1206A, generating a negative-going 6-volt pulse lat its collector. The negative-going pulse is differentiated by capacitor C-1204 and resistance R-1214, and its leading edge applied through diode X-1204 to trigger transistor Q-1205 of the blocking oscillator, thereby generating a 3.5-microsecond negative-going pulse from Winding c of transformer T-1201. The negative-going oscillator pulse cuts off inverter transistor Q-1202 and hence its collector rises toward -6 volts. Diode X-1201 clamps the collector output at approximately -21 volts, and a 12-15-volt positive-going pulse is generated, its amplitude being determined by the breakdown voltage of Zener diode X-120'2, which sets the clamping voltage level. The emitters of transistors Q-1203 and Q-1204 follow the positivegoing pulse applied to their bases, and resistors R1211 and R-1212 are chosen to provide the desired amount of output current to energize a column of cores. The output current on line 90 is connected to all of the columns of cores in memory unit 315 as explained above in connection with FIG. 3.

The positive pulse from the collector of transistor Q-1202 drives transistor Q-1201 into saturation, prioviding a negative-going delayed pulse on line 91 to operate strobe pulse generator 51.

The suitable form of strobe pulse generator and associated power amplifier which may be used as blocks 51 and 51a in FIG. 1 is shown in detail in FIG. 9. As mentioned above, the strobe pulse generator is triggered from the delay output pulse on line 91 of the read timing and driver circuit 50, and operates to provide a 0.8-microsecond wide strobe pulse on line 88 which is used to strobe the sense amplifier input signals. As shown in FIG. 9, the strobe pulse generator comprises two blocking oscillators and a power amplifier stage. T-he input signal on line 91 from circuit 50 is applied via terminal 901 to a differentiating circuit comprising capacitor C-901 and resistor R-901, and the negative-going spike resulting from differentiation is coupled by diode X-901 to the emitter of transistor Q-91 of the first blocking oscillator. Both blocking oscillators are of the emitter-controlled type. The first blocking oscillator, which includes transistor Q-91 and pulse transformer T-91, provides output pulses having a duration controlled by adjustment of resistor R-904. The second blocking oscillator includes transistors Q-92 and transformer T-92, providing an output pulse which drives a power amplifier shown as comprising transistors Q-93, Q-94 and Q-95, the power amplifier serving to amplify and shape the output pulse. Transistor Q-94 of the power amplifier is an emitter follower driver amplifier which provides a low impedance drive for the negative-going edge of the output waveform.

In the quiescent state transistors Q-91 and Q-92 both are cut off. Also, transistors Q-93 and Q-95 of the power amplifier are reverse lbiased and maintained at cutoff. Output terminal 88 will be seen to be clamped -at approximately -6 Volts by transistor Q-94. Upon application of a negative-going input pulse on line 91, the negativegoing spike applied to Q-91 forward biases the Q-91 base-emitter junction and allows emitter current to fiow. The emitter circuit applied through transformer T-91 is regeneratively coupled back to the Q-91 collector as shown so that regeneration occurs, and a positive pulse of approximately 0.55-micro-second duration is provided on line 903. The negative-going trailing edge of the pulse is differentiated by capacitor C-93 and resistor R-913 and applied to the emitter of transistor Q-92. The second blocking oscillator operates in the same manner as the first, providing a 0.8-microsecond wide negativegoing pulse from winding c of transformer T-92. The negative-going pulse forward biases the 4bases of transistors Q-93 and Q-95, causing Q-94 to be reverse biased,`

and hence a positive-going 6-volt output pulse (delayed approximately 0.55-microsecond) is provided at output terminal 88 of the power amplifier stage.

The read switch of FIG. 12 includes a first transistor Q-716 which is normally biased into conduction, and a second transistor Q715 which is normally nonconductive. Normally, a voltage level of -6 volts is applied to the input terminal 7|12 to maintain the transistor Q-716 conductive. A read timing pulse applied to the input terminal 712 constitutes a 0-volt level, which may be considered a positive going pulse as compared to the normal negative 6-volt level. Upon application of the read timing pulse to the input terminal 712, transistor Q-716 is cut off, whereupon the base electrode of transistor Q-715 is biased negatively, rendering the transistor conductive in a state of saturation. Wit'h the transistor Q-715 conductive, the line to the core memory becomes substanv tially grounded.

FIGURE 13 illustrates the averaging circuit for developing analog output voltages. The transistor switches TS-1, TS-Z, etc. (see FIG. l),` pass discrete voltage levels of either positive 10 volts or negative 10 volts depending upon the conductive state of the switch. As indicated heretofore, the various numerical bits are weighed with respect to time intervals, and the transistor switch is controlled thereby. The integrating circuit of FIGURE 13 includes a series of RC networks including resistors and 

1. A DIGITAL TO ANALOG CONVERSION APPARATUS, COMPRISING: MEANS FOR STORING A PLURALITY OF MULTI-BIT DIGITAL DATA WORDS, SAID WORDS INCLUDING A NUMBER OF BINARY BITS ARRANGED IN A PREDETERMINED ORDER OF RELATIVE SIGNIFICANCE; MEANS OPERABLE TO COMPLEMENT ONLY THE BIT OF MOST SIGNIFICANCE OF EACH MULTI-BIT DIGITAL DATA WORD PRIOR TO STORING WHEN SAID MOST SIGNIFICANT BIT IS OF A FIRST BINARY VALUE AND OPERABLE TO COMPLEMENT ALL OF SAID BITS OF EACH MULTI-BIT DIGITAL WORD PRIOR TO STORING WHEN SAID MOST SIGNIFICANT BIT IS OF A SECOND BINARY VALUE; A PLURALITY OF OUTPUT TERMINALS,ONE FOR EACH OF SAID WORDS; FIRST AND SECOND VOLTAGE SOURCES; SENSING MEANS FOR DETERMINING THE BINARY VALUE OF EACH OF SAID BITS IN SAID STORING MEANS; TIMED SWITCHING MEANS FOR COUPLING SAID SENSING MEANS TO SAID STORING MEANS FOR A TIME PROPORTIONAL TO THE RELATIVE SIGNIFICANCE OF EACH OF SAID BITS IN SAID WORD; AND SWITCHING MEANS COUPLED TO SAID SENSING MEANS FOR CONNECTING ONE OF SAID FIRST AND SECOND VOLTAGES TO EACH OF SAID PLURALITY OF OUTPUT TERMINALS IN ACCORDANCE WITH THE VALUE OF THE SENSED BIT FOR A TIMED INTERVAL PROPORTIONAL TO THE RELATIVE SIGNIFICANCE OF SAID BITS. 